import jieba


def getText():
    # 打开文件并读取内容
    with open("sanguo.txt", "r", encoding="utf-8") as f:
        content = f.read()
    # 使用jieba进行分词
    words = jieba.lcut(content)
    return words


counts = {}
words = getText()
for word in words:
    if len(word) == 1:
        continue
    else:
        counts[word] = counts.get(word, 0) + 1

items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(20):
    word, count = items[i]
    print("{0:<10}{1:>5}".format(word, count))
